你能用科学记数法打印一个整数吗?
Can you print an integer in scientific notation?
我知道在 C 中,您可以分别使用“%e”和“%le”以科学记数法打印浮点数和双精度数,还可以使用“%d”打印整数。有没有办法使用科学计数法打印整数?我试过“%de”,但没有用。例如,我希望 6000000 打印为 6e+06.
Can you print an integer in scientific notation?
一个简单的方法是转换为 double
然后打印。 @Eric Postpischil
printf("%e\n", (double) some_int_type_object);
当整数精度和值超过 double
- 通常约为 53 位时,这是不够的。
建议使用 long double
来处理更宽的整数类型。这仍然可能不符合精度要求。
printf("%Le\n", (long double) some_integer_type_object);
为了便携处理 64 位整数需要自定义代码。
我知道在 C 中,您可以分别使用“%e”和“%le”以科学记数法打印浮点数和双精度数,还可以使用“%d”打印整数。有没有办法使用科学计数法打印整数?我试过“%de”,但没有用。例如,我希望 6000000 打印为 6e+06.
Can you print an integer in scientific notation?
一个简单的方法是转换为 double
然后打印。 @Eric Postpischil
printf("%e\n", (double) some_int_type_object);
当整数精度和值超过 double
- 通常约为 53 位时,这是不够的。
建议使用 long double
来处理更宽的整数类型。这仍然可能不符合精度要求。
printf("%Le\n", (long double) some_integer_type_object);
为了便携处理 64 位整数需要自定义代码。